package cn.stylefeng.guns.dao.entity;

import java.math.BigDecimal;

import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author quspacedraon
 * @since 2024-02-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sale_stock")
@ApiModel(value = "SaleStock对象", description = "")
public class SaleStock implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long saleTime;

    @ApiModelProperty(value = "商品编码")
    private String goodsId;

    @ApiModelProperty(value = "批次号")
    private String batchNo;

    @ApiModelProperty(value = "批次")
    private String batch;

    @ApiModelProperty(value = "入库类型  1 入库 2退货")
    private Integer saleType;

    @ApiModelProperty(value = "入库价")
    private BigDecimal price;
    @ApiModelProperty(value = "入库价")
    private String tag;

    @ApiModelProperty(value = "入库 出库数量")
    private Integer num;

    @ApiModelProperty(value = "供应商id")
    private String supplierId;

    @ApiModelProperty(value = "是否参与返利计算")
    private Integer canRebate;

    @ApiModelProperty(value = "应收金额")
    private BigDecimal amountReceivable;

    @ApiModelProperty(value = "生产 日期")
    private Long batProductDate;

    @ApiModelProperty(value = "商品大类")
    private String bigClass;

    @ApiModelProperty(value = "销售单号")
    private String billNo;

    @ApiModelProperty(value = "生产厂家")
    private String factoryName;

    @ApiModelProperty(value = "商品中等分类")
    private String midClass;

    @ApiModelProperty(value = "支付方式")
    private String payName;

    @ApiModelProperty(value = "商品分类编码")
    private String proClass;

    @ApiModelProperty(value = "商品描述")
    private String proDepict;

    @ApiModelProperty(value = "国家医保编码")
    private String proMedProductCode;

    @ApiModelProperty(value = "商品通用名称")
    private String proCommonName;

    @ApiModelProperty(value = "销售级别")
    private String proSaleClass;

    @ApiModelProperty(value = "营业员工号")
    private String salerId;

    @ApiModelProperty(value = "营业员名字")
    private String salerName;

    @ApiModelProperty(value = "商品编码")
    private String selfCode;

    @ApiModelProperty(value = "店铺编号")
    private String stoCode;

    @ApiModelProperty(value = "门店名称")
    private String stoName;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "审核日志id")
    private String auditLogId;

    @ApiModelProperty(value = "销售时间")
    private Long time;

    @ApiModelProperty(value = "进销存类型 supplier 供应商 store门店 sale 销售")
    private String type;

    @ApiModelProperty(value = "核销状态 1 已核销 0待核销 -1 拒绝  -2 撤销  -1 -2  或者null才可以发起审批")
    private Integer auditStatus;

    @ApiModelProperty(value = "主键")
    @TableId(value = "sale_id", type = IdType.ASSIGN_ID)
    private String saleId;


    @ApiModelProperty(value = "删除标记：Y-已删除，N-未删除")
    @TableField(value = "del_flag", fill = FieldFill.INSERT)
    @ChineseDescription("删除标记（Y-已删除，N-未删除）")
    @TableLogic(value = "N", delval = "Y")
    private String delFlag;


    @ApiModelProperty(value = "订单号")
    private String gssdBillNo;

    @ApiModelProperty(value = "序列号")
    private Integer gssdSerial;

    @ApiModelProperty(value = "是否是测试数据1 是 0 不是")
    private Integer test;


    @ApiModelProperty("收银员")
    private String cashier;
    @ApiModelProperty("生产企业")
    private String productionEnterprise;
    @ApiModelProperty("上市许可持有人")
    private String holder;
    @ApiModelProperty("实收金额")
    private Double receivablePrice;
    @ApiModelProperty("原价")
    private Double originalPrice;
    @ApiModelProperty("外键id")
    private String materialDocId;
    @ApiModelProperty("poid")
    private String poId;

    @ApiModelProperty("扩展信息")
    private String extInfo;
    @ApiModelProperty("销售应收金额")
    private BigDecimal sellAmountReceivable;
    @ApiModelProperty("销售实收金额")
    private BigDecimal sellPaidAmount;

    @ApiModelProperty("配送单价")
    private BigDecimal distributionPrice;


}
